home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Includes / system / tasks.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-09-25  |  3.5 KB  |  79 lines

  1. #ifndef SYSTEM_TASKS_H
  2. #define SYSTEM_TASKS_H TRUE
  3.  
  4. /*
  5. **  $VER: tasks.h
  6. **
  7. **  (C) Copyright 1996-1998 DreamWorld Productions.
  8. **      All Rights Reserved.
  9. */
  10.  
  11. #ifndef DPKERNEL_H
  12. #include <dpkernel/dpkernel.h>
  13. #endif
  14.  
  15. /****************************************************************************
  16. ** Task object.
  17. */
  18.  
  19. #define VER_TASK  2
  20. #define TAGS_TASK ((ID_SPCTAGS<<16)|ID_TASK)
  21.  
  22. struct  DPKTask {
  23.   struct Head Head;                  /* 000 [R-] Standard header */
  24.   APTR   UserData;                   /* 012 [RW] Pointer to user data, no restrictions */
  25.   BYTE   *Name;                      /* 016 [RI] Name of the task, if specified */
  26.   struct MasterPrefs  *MasterPrefs;  /* 020 [--] Library preferences */
  27.   struct ScreenPrefs  *ScreenPrefs;  /* 024 [--] Screen preferences */
  28.   struct SoundPrefs   *SoundPrefs;   /* 028 [--] Sound preferences */
  29.   struct BlitterPrefs *BlitterPrefs; /* 032 [--] Blitter preferences */
  30.   APTR   emptyResourceChain001;      /* 036 [--] */
  31.   LONG   ReqStatus;                  /* 040 [--] Private, used internally */
  32.   LONG   BlitKey;                    /* 044 [--] Resource key */
  33.   LONG   AudioKey;                   /* 048 [--] Resource key */
  34.   APTR   ExecNode;                   /* 052 [--] Task's exec node */
  35.   APTR   DestructStack;              /* 056 [--] Stack to use for DestructCode */
  36.   APTR   DestructCode;               /* 060 [--] Pointer to self destruct code routine */
  37.   BYTE   AlertState;                 /* 064 [--] Private */
  38.   BYTE   Switched;                   /* 065 [--] Set if task is in Switch() */
  39.   WORD   DebugStep;                  /* 066 [--] Debug tree stepping position */
  40.   BYTE   AwakeSig;                   /* 068 [--] Signal for waking this task */
  41.   BYTE   Pad;                        /* 069 [--] Reserved */
  42.   WORD   DPKTable;                   /* 070 [-I] Type of jump table from DPK */
  43.   LONG   emptyTotalData002;          /* 072 [--] */
  44.   LONG   emptyTotalVideo003;         /* 076 [--] */
  45.   LONG   emptyTotalSound004;         /* 080 [--] */
  46.   LONG   emptyTotalBlit005;          /* 084 [--] */
  47.   APTR   Code;                       /* 088 [-I] Start of program */
  48.   BYTE   *Preferences;               /* 092 [--] Preferences directory */
  49.   LONG   DPKBase;                    /* 096 [R-] DPKBase */
  50.   BYTE   *Author;                    /* 100 [RI] Who wrote the program */
  51.   BYTE   *Date;                      /* 104 [RI] Date of compilation */
  52.   BYTE   *Copyright;                 /* 108 [RI] Copyright details */
  53.   BYTE   *Short;                     /* 112 [RI] Short description of program */
  54.   WORD   MinDPKVersion;              /* 116 [R-] Minimum required DPKernel version */
  55.   WORD   MinDPKRevision;             /* 118 [R-] Minimum required DPKernel revision */
  56.   struct GVBase *GVBase;             /* 120 [R-] GVBase */
  57.   BYTE   *Args;                      /* 124 [RI] Pointer to argument string */
  58.   APTR   Source;                     /* 128 [RI] Where to load the task from */
  59.   BYTE   *prvName;                   /* 132 [--] Memory location of name memory */
  60.   WORD   DebugState;                 /* 136 [RW] Debug On/Off */
  61.   struct Head *prvContext;           /* 138 [--] Pointer to object in current context */
  62. };
  63.  
  64. #define TSK_Name      (TAPTR|16)
  65. #define TSK_DPKTable  (TWORD|70)
  66. #define TSK_Code      (TAPTR|88)
  67. #define TSK_Author    (TAPTR|100)
  68. #define TSK_Date      (TAPTR|104)
  69. #define TSK_Copyright (TAPTR|108)
  70. #define TSK_Short     (TAPTR|112)
  71. #define TSK_Args      (TAPTR|124)
  72. #define TSK_Source    (TAPTR|128)
  73.  
  74. #define CS_OCS 0
  75. #define CS_ECS 1
  76. #define CS_AGA 2
  77.  
  78. #endif /* SYSTEM_TASKS_H */
  79.